package com.billdowney.service.interfaces.system;

import com.billdowney.entity.system.SystemDataDict;
import com.billdowney.service.interfaces.base.BaseService;

/**
 * @Description: 系统字典接口
 * @author: 唐路钧
 * @date: 2018年9月6日 下午4:46:20
 */
public interface SystemDataDictService extends BaseService<SystemDataDict> {

	/**
	 * @Description: 传入需要更新或保存的对象
	 * @param systemDataDict
	 * @return 保存的对象
	 * @author: 唐路钧
	 * @date: 2018年9月6日 下午4:53:12
	 */
	public SystemDataDict saveOrUpdate(SystemDataDict systemDataDict) throws Exception;

	/**
	 * @Description: 通过id来查找数据字典
	 * @param id 数据字典的id
	 * @return 查询到的对象
	 * @throws Exception
	 * @author: 唐路钧
	 * @date: 2018年9月6日 下午5:02:43
	 */
	public SystemDataDict findById(String id) throws Exception;

	/**
	 * @Description: 验证键值是否被使用
	 * @return
	 * @throws Exception
	 * @author: 唐路钧
	 * @date: 2018年9月6日 下午5:07:49
	 */
	public boolean validKeyIsUse(String key) throws Exception;

	/**
	 * @Description: 传入Key来获取字符串值，如果为null则证明没有在文件和字典表中找到值
	 * @param key 需要查找的键名
	 * @return 查找到的键值，可以为空字符串
	 * @throws Exception
	 * @author: 唐路钧
	 * @date: 2018年9月8日 下午3:45:44
	 */
	public String getString(String key) throws Exception;

	/**
	 * @Description: 获取字典中的默认文件路径
	 * @return 查找到的文件路径
	 * @author: 唐路钧
	 * @date: 2018年9月8日 下午4:46:24
	 */
	public String getDefaultFilePath();

}
